package scale_hw3

//定义一个特质 Logger，该特质包含一个具体方法 log(message: String): Unit。该方法将消息记录到日志中。
//定义一个类 Calculator，它扩展 Logger 特质。 Calculator 类具有两个具体方法 add(x: Int, y: Int): Int 和 subtract(x: Int, y: Int): Int，它们分别返回 x 和 y 的和或差。
//在 add 和 subtract 方法内部，分别使用 log 方法记录所执行的操作和结果。

trait Logger {
  def log(message:String):Unit
}

class Calculator extends Logger{
  def add(x: Int, y: Int): Int = {
    val z1 = x + y
    log(s"Note $x + $y. Result: $z1")
    z1
  }

  def subtract(x: Int, y: Int): Int = {
    val z2 = x - y
    log(s"Note $y - $x. Result: $z2")
    z2
  }
  override def log(message: String): Unit = {
    print(message)
  }
}